home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 6
/
The Arsenal Files 6 (Arsenal Computer).ISO
/
prg_basi
/
n_b-v200.zip
/
NBV3
/
DMO
/
README.PLS
< prev
next >
Wrap
Text File
|
1996-03-11
|
4KB
|
66 lines
One of the hardest things about working with screen 12 is getting all the
colors in use while printing text. In fact, it is an impossibility to get
all the backgrounds going at the same time under text without going totally
stark, raving mad! Well, there is only one solution for it! Put you own
characters on the screen. This whole library is dedicated to making the
VGA screen more manageable for text printing.
Along with this package is one V-FONT.850 file. It contains the 256 chars
in the 850 code page. I use this one because it serves about 1/2 of all
the languages in the western world. You can make V-FONT files for 437 or
any code page by simply loading the code pages into your computer then
running MAKEFONT.BAS that is located in the UNT directory. If you don't
load any code page then whatever you currently have in/on your computer
will be copied. (can't make it easier than that!)
This system also makes your programs independent of any codepage set-up
on your users' computer so you are SURE that what you wrote is what they
see! ( WYWIWTS ?? NOT! )
There are also a few printing routines that accept Row/Col addresses like
the LOCATE statement. These addresses are then computed into VGA addresses
and sent to fVprintG% which uses Col/Row VGA addressing. So, you may either
print at an absolute screen address or a Row/Col address as you require.
Like Tprint these routines are looking for CHR$(17) as a color trigger so
you can change attributes within the string. Unlike Tprint, however, you
cannot print more characters than the line will hold. And an incoming Attr?
value of ZERO uses whatever colors are currently in fBackground? and
fForeGround? that you set using GCOLOR or GATTR then, if in the string you
send a CHR$(17,0) you will get black on black or whatever! All these
functions will put your text using fPutFBarr so they are opaque and both
foreground and background colors are used so DON'T USE COLOR XX,XX.
The VGA screen has 80 8pixel columns and 30 16pixel rows. So, when you need
to draw a box/button you have to put the vertical lines on the left and
right most pixels of the column but the horizontal lines have to be in the
middle of the text box. Just to make all this easier there are a few cousins
to GBoxXXXX called VBoxXXXX that take care of these computations and are,
once again, called using the Row/Col/Rows/Cols text mode style parameters
like TBoxDRAW.
I don't know just how handy all this stuff will be for you but it does bring
the VGA screen a little closer to an efficient tool for text based programs
while allowing for some logical button building. There is even an extension
to fEventOpenT% that will do your 8x16 computations for you. This should
allow you to easily get your mouse into action. While we're on the mouse:
Once again, there is NO mouse support except in fVprintM. This is because
things don't happen, too often, in ones and it is more efficient to turn
the mouse OFF/ON once instead of 20 or 30 times. fVprintM is for those one-
off strings like when editing, etc.
If you want to get totally silly and provide italics, underline, transparent
printing, etc. You've got all the tools you need in NBV1 and quick look into
VFONT.UNT will tell all!
Have a good one!
d83)
NOTE: There are 2 .ASM functions from NBT1 that have been copied over
to NBV3 because you may need them. They are identical to the ones
in NBT1 except that the CODE SEGMENT has been changed to NBV3 but
not to worry.
fColor2Attr? ( Fgrnd?, Bgrnd? )
fTprintLEN% ( ANYstring, MidPos% )